package testes;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import iscte.es.copaPaises.businessLayer.CalendarDate;
import iscte.es.copaPaises.businessLayer.Pais;
import iscte.es.copaPaises.businessLayer.Participacao;
import iscte.es.copaPaises.businessLayer.Treinador;

import java.util.HashSet;
import java.util.Set;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

public class TreinadorTest {
	private Treinador t;
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	}

	@Before
	public void setUp() throws Exception {
		t=new Treinador();
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	public void testToString() {
		assertEquals(t.toString(),"Treinador []\n");

	}

	@Test
	public void testTreinador() {
		assertTrue("Treinador()",Treinador.allInstances().contains(t));
	}

	@Test
	public void testTreinadorCalendarDateStringPais() {
		Treinador.allInstances.clear();
		t=new Treinador(new CalendarDate(23, 4, 1959),"Alberto Pires",new Pais());
		assertTrue("Treinador(CalendarDate,Nome,Pais)",Treinador.allInstances().contains(t));
	}

	@Test
	public void testParticipacoes() {
		Participacao p1=new Participacao();
		Participacao p2=new Participacao();
		Participacao p3=new Participacao();
		Set<Participacao> participacoes= new HashSet<Participacao>();
		participacoes.add(p1);participacoes.add(p2);
		t.setParticipacoes(participacoes);
		assertEquals("Treinador.participacoes()",participacoes,t.participacoes());
	}
}
